/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import model.Classe;
import model.LocalizaCidade;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;

/**
 *
 * @author ls71174
 */
public class LocalizaCidadeDAO {
            private Session session;
    // método construtor - igual ao nome da Familia precedido por public

    public LocalizaCidadeDAO() {
        session = HibernateUtil.getSessionFactory().openSession();
    }

    public void insert(LocalizaCidade m) {
        Transaction t = session.beginTransaction();
        session.save(m);
        t.commit();
    }

    public void update(LocalizaCidade m) {
        Transaction t = session.beginTransaction();
        session.merge(m);
        t.commit();
    }

    public void delete(LocalizaCidade m) {
        Transaction t = session.beginTransaction();
        session.delete(m);
        t.commit();
    }
    
    public LocalizaCidade findById(String id) {
        return (LocalizaCidade) session.load(LocalizaCidade.class, id);
    }

    public List<LocalizaCidade> findAll() {        
        return session.createCriteria(LocalizaCidade.class).list(); 
    }
    
     public List<LocalizaCidade> findByDescricao(String descricao) {

        Query q = session.createQuery("from LocalizaCidade where upper(cidade_descricao) like upper(:X)");
        q.setParameter("X", "%" + descricao + "%");
        return q.list();
    }
}
